// AutoCADMenuDockStyle.h: interface for the AutoCADMenuDockStyle class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_AUTOCADMENUDOCKSTYLE_H__639D6FF9_5AAD_4C0A_A601_7C68299E4765__INCLUDED_)
#define AFX_AUTOCADMENUDOCKSTYLE_H__639D6FF9_5AAD_4C0A_A601_7C68299E4765__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "AutoCADMenuStyle.h"
#include "UeDockControlBar.h"
#include "AutoCADMenu.h"
#include "SmartPointer.h"

using namespace UEPHSMENU;

class UeMenuDlg;
typedef UeSmartPtr<UeMenuDlg> UeMenuDlgPtr;

class DllExport AutoCADMenuDockStyle : public AutoCADMenuStyle  
{
public:
	AutoCADMenuDockStyle(AutoCADMenu *pCADMenu);
	virtual ~AutoCADMenuDockStyle();

public:
	virtual UESoft::ErrorStatus ShowMenu(const CStringArray& theGroups = CStringArray()); 
	virtual UESoft::ErrorStatus HideMenu(const CStringArray& theGroups = CStringArray());
	
private:
	void ShowWindow();

private:
	UeDockControlBar m_DockBar;
	UeMenuDlgPtr m_MenuDlgPtr;
	AutoCADMenu * m_pCADMenu;
};

#endif // !defined(AFX_AUTOCADMENUDOCKSTYLE_H__639D6FF9_5AAD_4C0A_A601_7C68299E4765__INCLUDED_)
